SDIO 102B wifi使用


1. 将SD卡配置成SDIO输出

  1. infinity2m.dtsi dts配置如下

  2. 如果是跳线验证,信号较差可以将clk改成12M来验证,改动如下:

  3. 额外注意一点:

    如果有使用wifi reset脚,需要检查reset脚的配置情况。如果没有额外gpio控制reset脚,可以忽略如下内容。

    在demo板上使用gpio0来控制sd的power enable脚位。 有可能在新的设计图纸上,将GPIO0用来控制reset。

    需要在infinity2m-ssc011a-s01a-padmux-display.dtsi中屏蔽

    //<PAD_GPIO0 PINMUX_FOR_GPIO_MODE MDRV_PUSE_SDIO0_PWR >,
    

    然后再uboot上添加:gpio out 0 0 和 gpio out 0 1 来控制复位。

  4. kernle里控制sd power 的gpio,其实是根据padmux里的MDRV_PUSE_SDIO0_PWR来找到对应哪个gpio口的,dts里的slot-pwr-gpios在padmux存在情况下,是没有作用的。

  5. power不是硬件长供电的情况下,作为SDIO使用时候,如果发生初始化的时候发生错误,注意要修改如下时间为30


2. 替换102b ko测试

102b wifi的使用跟101b使用完全一样,只需要替换对应的ko insmod即可。点击下载102b测试wifi ko

可以用命令测试:

  1. 修改/appconfigs/wpa_supplicant.conf,添加AP热点信息

    / # vi appconfigs/wpa_supplicant.conf
    ctrl_interface=/tmp/wifi/run/wpa_supplicant
    update_config=1
    
    network={
        ssid="aryl iPhone"
        psk="123456789a"
    }
    network={
        ssid="ssw101bap"
        psk="12345678"
    }
    
  2. wifi 模块初始化

    cd /config/wifi
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/lib:/config/wifi
    ./ssw01bInit.sh
    
  3. 测试wifi 连接 (连接,获取IP,通过路由器或手机来观察)

    ./wpa_supplicant -Dnl80211 -i wlan0 -c /appconfigs/wpa_supplicant.conf -d &
    udhcpc -q -i wlan0 -s /etc/init.d/udhcpc.script
    
  4. 扫描热点:

    ./iwlist wlan0 scanning
    
  5. 查询连接状态:

    ./wpa_cli -i wlan0 -p /tmp/wifi/run/wpa_supplicant status
    
  6. ping

    ping -I wlan0 14.215.177.39